home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / pluginy Firefox / 60 / 60.xpi / chrome / webdeveloper.jar / content / webdeveloper / dialogs / cookie.js next >
Text File  |  2009-06-30  |  6KB  |  156 lines

  1. // Initializes the cookie dialog
  2. function webdeveloper_initializeCookie()
  3. {
  4.     var stringBundle = document.getElementById("webdeveloper-string-bundle");
  5.  
  6.     // If the first argument equals add
  7.     if(window.arguments[0] == "add")
  8.     {
  9.         var url           = Components.classes["@mozilla.org/network/standard-url;1"].createInstance(Components.interfaces.nsIURL);
  10.         var windowContent = window.opener.getBrowser();
  11.  
  12.         document.title = stringBundle.getString("webdeveloper_addCookie");
  13.         url.spec       = windowContent.browsers[windowContent.mTabBox.selectedIndex].contentDocument.documentURI;
  14.  
  15.         document.getElementById("webdeveloper-cookie-expires").value = new Date().toUTCString();
  16.         document.getElementById("webdeveloper-cookie-host").value    = url.host;
  17.         document.getElementById("webdeveloper-cookie-path").value    = url.path;
  18.     }
  19.     else
  20.     {
  21.         document.title = stringBundle.getString("webdeveloper_editCookie");
  22.  
  23.         document.getElementById("webdeveloper-cookie-name").value  = window.arguments[1];
  24.         document.getElementById("webdeveloper-cookie-value").value = window.arguments[2];
  25.         document.getElementById("webdeveloper-cookie-host").value  = window.arguments[3];
  26.         document.getElementById("webdeveloper-cookie-path").value  = window.arguments[4];
  27.         
  28.         // If the cookie is a session cookie
  29.         if(window.arguments[5] == stringBundle.getString("webdeveloper_viewCookieInformationSession"))
  30.         {
  31.             document.getElementById("webdeveloper-cookie-expires").disabled = true;            
  32.             document.getElementById("webdeveloper-cookie-session").checked  = true;
  33.         }
  34.         else
  35.         {
  36.             document.getElementById("webdeveloper-cookie-expires").value = window.arguments[5];
  37.         }
  38.  
  39.         // If the cookie is secure
  40.         if(window.arguments[6] == "true")
  41.         {
  42.             document.getElementById("webdeveloper-cookie-secure").checked = true;
  43.         }
  44.     }
  45. }
  46.  
  47. // Saves the cookie
  48. function webdeveloper_saveCookie()
  49. {
  50.     var host         = document.getElementById("webdeveloper-cookie-host").value.trim();
  51.     var errors       = "";
  52.     var expires      = document.getElementById("webdeveloper-cookie-expires").value.trim();
  53.     var expiresDate  = new Date(expires);
  54.     var name         = document.getElementById("webdeveloper-cookie-name").value.trim();
  55.     var path         = document.getElementById("webdeveloper-cookie-path").value.trim();
  56.     var stringBundle = document.getElementById("webdeveloper-string-bundle");
  57.  
  58.     // If the name is empty
  59.     if(!name)
  60.     {
  61.         errors += stringBundle.getString("webdeveloper_emptyName") + "\n";
  62.     }
  63.  
  64.     // If the host is empty
  65.     if(!host)
  66.     {
  67.         errors += stringBundle.getString("webdeveloper_emptyHost") + "\n";
  68.     }
  69.  
  70.     // If the path is empty
  71.     if(!path)
  72.     {
  73.         errors += stringBundle.getString("webdeveloper_emptyPath") + "\n";
  74.     }
  75.  
  76.     // If this is not a session cookie
  77.     if(!document.getElementById("webdeveloper-cookie-session").checked)
  78.     {
  79.         // If the expires is empty
  80.         if(!expires)
  81.         {
  82.             errors += stringBundle.getString("webdeveloper_emptyExpires") + "\n";
  83.         }
  84.         else if(expiresDate && expiresDate == "Invalid Date")
  85.         {
  86.             errors += stringBundle.getString("webdeveloper_invalidExpires") + "\n";
  87.         }
  88.     }
  89.  
  90.     // If there are errors
  91.     if(errors)
  92.     {
  93.         webdeveloper_error(errors.trim());
  94.  
  95.         return false;
  96.     }
  97.     else
  98.     {
  99.         var cookie        = name + "=" + document.getElementById("webdeveloper-cookie-value").value.trim() + ";";
  100.         var cookieService = Components.classes["@mozilla.org/cookieService;1"].getService().QueryInterface(Components.interfaces.nsICookieService);
  101.         var scheme        = "http://";
  102.         var secure        = document.getElementById("webdeveloper-cookie-secure").checked;
  103.         var session       = document.getElementById("webdeveloper-cookie-session").checked;
  104.         var uri           = null;
  105.  
  106.         // If the first argument equals edit
  107.         if(window.arguments[0] == "edit")
  108.         {
  109.             Components.classes["@mozilla.org/cookiemanager;1"].getService(Components.interfaces.nsICookieManager).remove(window.arguments[3], window.arguments[1], window.arguments[4], false);
  110.         }
  111.  
  112.         // If the host is a domain
  113.         if(host.charAt(0) == ".")
  114.         {
  115.             cookie += "domain=" + host + ";";
  116.         }
  117.  
  118.         cookie += "path=" + path + ";";
  119.  
  120.         // If this is not a session cookie
  121.         if(!session)
  122.         {
  123.             cookie += "expires=" + expiresDate + ";";
  124.         }
  125.  
  126.         // If the cookie is secure
  127.         if(secure)
  128.         {
  129.             cookie += "secure;";
  130.             scheme  = "https://";
  131.         }
  132.  
  133.         uri = Components.classes["@mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIIOService).newURI(scheme + host + path, null, null);
  134.  
  135.         cookieService.setCookieString(uri, null, cookie, null);
  136.     }
  137.  
  138.     return true;
  139. }
  140.  
  141. // Updates the expiry status
  142. function webdeveloper_updateExpiryStatus()
  143. {
  144.     var disabled = false;
  145.     var expires  = new Date();
  146.  
  147.     // If session cookie is checked
  148.     if(document.getElementById("webdeveloper-cookie-session").checked)
  149.     {
  150.         disabled = true;
  151.         expires  = "";
  152.     }
  153.  
  154.     document.getElementById("webdeveloper-cookie-expires").disabled = disabled;
  155.     document.getElementById("webdeveloper-cookie-expires").value    = expires;
  156. }